\documentclass[12pt,fleqn,titlepage]{article}
\title{COMS W4771\\Assignment 5}
\author{John R. Zhang\\UNI: jrz2106}
\date{May 6, 2009}
\usepackage{fullpage}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{epsfig}
\usepackage{helvet}
\usepackage{supertabular}
\newcommand{\Log}{\mathrm{Log}\;}
\newcommand{\Res}{\mathrm{Res}}

\begin{document}

\section{Project Plan}

This section is written by the project manager, John Zhang.

\subsection{Language and Translator Development}

Our overall approach to the development of the language and translator was
divided into three stages: first, assembling our group and deciding on a
language focus, second, deciding upon language specifications and necessary
functionality, and finally, implementation, testing and presentation. Of course,
these stages were not disjoint.

We were fortunate to have been able to select our team mates early and thus 
begin work right away. Almost immediately after our team was founded, we began 
to meet regularly (at least once per week) to decide on the focus of our 
language, and subsequently, what language features would be necessary to 
implement the desired functionality. During this time, we also selected team 
roles, and decided on a team name and language name.

In the weeks after, we began meeting with increased frequency to decide on 
the specifications of our language as well as other implementation details.

\subsubsection{Specifications}

In the planning process, we decided upon the core objectives of our language.
A Pigasus programmer should be able to accomplish the following with relative 
ease:
\begin{itemize}
\item Send a list of files or data to a remote machine.
\item Execute or otherwise manipulate the files on the remote machine.
\item Retrieve files produced or modified by the execution script on the remote
machine.
\item Specify information regarding servers and files with ease in the Pigasus
code.
\end{itemize}

We regularly held discussions as a group over a whiteboard, especially when 
deciding on the functionality that would be needed by the user (Figure 
\ref{fig:plt_mar26}). The planning and specification phase culminated in the 
language whitepaper, reference manual and tutorial.

\begin{figure}[ht]
\begin{center}
\epsfig{figure=PLT_Mar26.eps, width=5in}
\end{center}
\caption{Photo of whiteboard during early meetings.}
\label{fig:plt_mar26}
\end{figure}

\subsubsection{Implementation}
\label{sec:implementation}

Once we had decided on a language specification and submitted our documentation,
we began to work on the implementation of the language in ernest. Of course,
before this could begin, a number of key decisions had to be made as a group.

\begin{enumerate}

\item {\bf Platform}. In addition to the development platform, we had to
envision what requirements would have to be asked of the user. Linux 
(or any Unix-based OS) was chosen as the operating system of Pigasus as 
our target audience of students and researchers were most likely to have access
to networked Linux machines running SSH (e.g.\ CLIC). SSH was chosen as the
means for transmitting files between the host and remote machines for its 
popularity, security and ease-of-use. It is commonly pre-installed on Linux 
machines.

\item {\bf Language front-end}. We had chosen to model our language on C to 
reduce the learning curve for many potential users. Also, the grammatical 
resemblence between Pigasus and C provided us ample resources and sample 
grammars to build upon. It also naturally led us to Bison and Lex. 

\item {\bf Language back-end}. The back-end was built primarily using C++ with 
some Bash and Expect scripts. C++ was chosen due to our familiarity with the 
language, its excellent integration with the system and shell, and also our 
desire to use the opportunity to improve our knowledge of the language.

\end{enumerate}

A division of labor was necessary so that everybody was able to contribute 
while minimizing the common problems that might occur in communicating ideas 
between disparate focuses within the group. To achieve this, we decided to 
divide into two sub-groups: two members would focus on implementing the 
back-end, and two members would focus on the front-end. Section \ref{sec:roles}
describes team member roles in greater detail.

This division allowed development of the front-end and back-end to proceed in 
parallel, with regular integration and testing. We continued to contribute code
individually while meeting regularly for group coding sessions which allowed us
to communicate with one another and provided a chance for the front-end and
back-end to decide on the interface.

Near the conclusion of the project term, we began meeting with increasing
frequency as we worked to integrate the front-end and back-end and gradually
shift our focus to testing.

\subsection{Team Member Roles}
\label{sec:roles}

The team members and their responsibilities are listed as follows. In addition
to the individual tasks listed, every team member also contributed to the
overall specification of the language and to integration and testing.

It should also be noted that we encountered a small challenge midway through 
our project as one of our team members chose to leave the course. His 
responsibilities as the system integrator, were undertaken by the entire team.

\begin{itemize}

\item John Zhang (project manager).

The project manager was mainly responsible for setting the pace of the project,
organizing meetings and setting the agenda. The project manager also helped to
design the high-level architecture of the language and translator, as well as
help to design and implement the backend.

\item Jordan Rupprecht (system architect).

The system architect was responsible for many design decisions regarding the
back-end, especially the method of distributing files and executing them
remotely. The architect was also responsible for the selection of many of the 
tools used, as well as help to implement the back-end.

\item Sharath Gururaj (language guru).

The language guru was responsible for many design decisions in the front-end.
This included changes in the language specifications that needed to be made, as
well as the selection of tools needed to implement the front-end. The language
guru also helped to implement the grammar and translation schemes.

\item Philip Tjimos (testing and validation).

The testing and validation person was responsible for writing test cases for the
language, as well as for decisions regarding the testing framework. The testing
and validation person also helped to design and implement the front-end.

\end{itemize}

\subsection{Programming Style}

As our project involved code in several languages, we had to employ a number of
different styles.

\subsubsection{C++}

The vast majority of our code was written using C++. We decided to follow the
Google C++ Style Guide \cite{google_style_guide} (publicly available for
open-source development on Google Code\footnote{http://code.google.com.}).

The Google C++ style greatly improved the modularity and readability of our
code. It was also extremely comprehensive and provided guidelines for good
programming practices. We did our best to follow the style guide as rigorously
as possible, but do to time constraints, our adherence is likely imperfect.
Furthermore, due to time and personnel constraints, we were unable to use 
code reviews.

Some highlights of the Google C++ style guide include:
\begin{itemize}
\item Header files include \verb|#define| guards to prevent multiple inclusion.
\item Lines limited to 80 characters.
\item Use only spaces (2 spaces) instead of tabs.
\item Variable names in lowercase, with different words separated by
underscores.
\item Variable names were selected to be meaningful.
\item Class names and function names are in CamelCase.
\item File names are also in lower case.
\end{itemize}

Clearly the Google style guide is much more comprehensive, but these highlights
were the most frequently used. 

\subsubsection{Scripting}

Our scripts were limited to only a few lines and were written by the system
architect. Since the scripts were primarily used to execute shell commands, no
style guide was deemed necessary.

\subsubsection{Bison / Lex}

Style was similar to specifications for C found in \ref{degener:ansi}. Yacc 
specification followed a soft 80-character limit with all conjunctions
aligned. 

\subsection{Timeline}

\begin{table}[ht]
\begin{center}
\begin{tabular}{|p{1.5in}|p{3.5in}|} \hline \hline
Date (MM/DD/YY) & Accomplishment \\ \hline
01/21/09 -- 01/26/09	&Team formed.	\\ \hline
01/27/09 -- 02/02/09	&Language focus defined. \\ \hline

02/17/09 -- 02/25/09	&Language features defined. Whitepaper produced. \\ \hline

03/03/09 -- 03/09/09	&Began specific outlining of language grammar and syntax.
Research into related language grammars, etc.	\\ \hline

03/10/09 -- 03/23/09	&Formalized specification of language. Began
implementation of front-end and back-end. Especially basic Lex specification and
back-end implementation of basic types.	\\ \hline

03/24/09 -- 03/30/09	&Language reference manual produced. Tutorial produced.	\\ \hline

3/31/2009 -- 04/20/09	&Continued implementation of back-end and front-end. Began
testing of network transmissions and execution.	\\ \hline

04/21/09 -- 04/27/09	&Final presentation created. Continued implementation of
back-end and front-end.	\\ \hline

04/28/09 -- 05/04/09	&Final presentation given. Final and minute adjustments
made to grammar and syntax. More features implemented. Compiler produced.	\\ \hline

05/05/09 -- 05/11/09	&Created more test cases. More testing of tutorial
programs was done. Final report produced. First release version of Pigasus
produced.	\\ \hline
\end{tabular}
\label{tab:timeline}
\caption{Project timeline.}
\end{center}
\end{table}


\subsection{Project Log}

\begin{center}
\tablefirsthead{%
  \hline
  Revision & Author & Date \\ \hline}
\tablehead{%
  \hline
  \multicolumn{3}{|p{5in}|}{\small continued from previous page}\\
  \hline
  Revision & Author & Date \\ \hline}
\tabletail{%
  \hline
  \multicolumn{3}{|r|}{\small continued on next page} \\
  \hline}
\tablelasttail{\hline}
\bottomcaption{SVN log for Pigasus.}

\begin{supertabular}{|p{1.7in}|p{1.7in}|p{1.6in}|} \hline

r298 & J. Rupprecht & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r297 & J. Rupprecht & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r296 & J. Rupprecht & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r295 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{My writeup part} \\ \hline \hline 

r294 & P. Tjimos & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{finished unit test for pigasus-test} \\ \hline \hline 

r293 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added tests for cast.cc and minor fixes.} \\ \hline \hline 

r292 & J. Rupprecht & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Edited makefile} \\ \hline \hline 

r291 & J. Rupprecht & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r290 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added unit test for LoadCSV} \\ \hline \hline 

r289 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Cleaned up directory} \\ \hline \hline 

r288 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed to use the MiniCppUnit} \\ \hline \hline 

r287 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Deleted misc directory. Useless.} \\ \hline \hline 

r286 & J. Rupprecht & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r285 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Slight change to ftoc sample} \\ \hline \hline 

r284 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Renamed temp to ftoc} \\ \hline \hline 

r283 & J. Rupprecht & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r282 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added gcd sample} \\ \hline \hline 

r281 & P. Tjimos & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{updated gcd.pig} \\ \hline \hline 

r280 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Deleted test video from render sample.} \\ \hline \hline 

r279 & P. Tjimos & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{updated gcd.pig} \\ \hline \hline 

r278 & P. Tjimos & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added gcd.pig} \\ \hline \hline 

r277 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added multiserver tutorial example} \\ \hline \hline 

r276 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added tutorials, minor fixes} \\ \hline \hline 

r275 & J. Rupprecht & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r274 & P. Tjimos & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed wait all and print} \\ \hline \hline 

r273 & P. Tjimos & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed wait all and print} \\ \hline \hline 

r272 & P. Tjimos & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{removed const \&} \\ \hline \hline 

r271 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{moved render.cpp to raytrace.cc, deleted test vid} \\ \hline \hline 

r270 & J. Zhang & Sun, 10 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Minor fix to sample rendering code.} \\ \hline \hline 

r269 & P. Tjimos & Sat, 09 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added function prototypes} \\ \hline \hline 

r268 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r267 & J. Zhang & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added sample program for distributed rendering.} \\ \hline \hline 

r266 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r265 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r264 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added new test for lists} \\ \hline \hline 

r263 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed lists and maps} \\ \hline \hline 

r262 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r261 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r260 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r259 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed list and map addition again} \\ \hline \hline 

r258 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed list and map addition} \\ \hline \hline 

r257 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{footer and grammar and test updated} \\ \hline \hline 

r256 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed footer again} \\ \hline \hline 

r255 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed grammar footer} \\ \hline \hline 

r254 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed grammar footer} \\ \hline \hline 

r253 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r252 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r251 & J. Zhang & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed bug in jobthread that wasn't updating the already\_getting flag} \\ \hline \hline 

r250 & J. Zhang & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added sample files for distcc} \\ \hline \hline 

r249 & J. Rupprecht & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r248 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{changed semi-colon with push} \\ \hline \hline 

r247 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{grammar testing and sample files} \\ \hline \hline 

r246 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed list and map bugs} \\ \hline \hline 

r245 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{require wait statements to have ';', added newlines as well} \\ \hline \hline 

r244 & P. Tjimos & Fri, 08 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed missing semi-colon in return} \\ \hline \hline 

r243 & J. Rupprecht & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r242 & J. Zhang & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added debug info} \\ \hline \hline 

r241 & S. Gururaj & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r240 & J. Zhang & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed bug in List and added test case. Also fixed sample source for distcc} \\ \hline \hline 

r239 & J. Zhang & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Removed couts from jobthread, deleted misc-keywords, fixed outputs list in getthread} \\ \hline \hline 

r238 & J. Rupprecht & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r237 & S. Gururaj & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{calling the correct job... not compile always...} \\ \hline \hline 

r236 & J. Rupprecht & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r235 & J. Zhang & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Edited push.} \\ \hline \hline 

r234 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{include iostream} \\ \hline \hline 

r233 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{changed headers for jobs} \\ \hline \hline 

r232 & J. Zhang & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed runjob and sendthread errors.} \\ \hline \hline 

r231 & S. Gururaj & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Pigmain shouldnt be there where not needed awdfsafdsfsdfdsfsad} \\ \hline \hline 

r230 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed string issues} \\ \hline \hline 

r229 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed buffer} \\ \hline \hline 

r228 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed space in void jobname} \\ \hline \hline 

r227 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{removed const} \\ \hline \hline 

r226 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{removed misc-keywords.h} \\ \hline \hline 

r225 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added misc-keywords.h} \\ \hline \hline 

r224 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added System.h} \\ \hline \hline 

r223 & J. Zhang & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed pigasus sample code} \\ \hline \hline 

r222 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r221 & P. Tjimos & Wed, 06 May 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{cleaned up grammar} \\ \hline \hline 

r220 & J. Zhang & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed formatstring to accept const list.} \\ \hline \hline 

r219 & J. Rupprecht & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r218 & P. Tjimos & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added common.h, fixed typo} \\ \hline \hline 

r217 & P. Tjimos & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{changed system to System} \\ \hline \hline 

r216 & S. Gururaj & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed...again} \\ \hline \hline 

r215 & P. Tjimos & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed arg 4 non-null push} \\ \hline \hline 

r214 & J. Zhang & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed push, wait, etc.} \\ \hline \hline 

r213 & J. Rupprecht & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r212 & P. Tjimos & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{made headers look nicer} \\ \hline \hline 

r211 & J. Rupprecht & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r210 & J. Zhang & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{implements the wait keyword} \\ \hline \hline 

r209 & P. Tjimos & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed headers and extern variables} \\ \hline \hline 

r208 & S. Gururaj & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed space} \\ \hline \hline 

r207 & J. Rupprecht & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r206 & P. Tjimos & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added distcc.pig} \\ \hline \hline 

r205 & S. Gururaj & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added extra stuff} \\ \hline \hline 

r204 & J. Zhang & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Removed macro for replacing nulls with empty lists.} \\ \hline \hline 

r203 & J. Rupprecht & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r202 & J. Zhang & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Small changes to allow for null, and removed sample PigMain from main.cc.} \\ \hline \hline 

r201 & P. Tjimos & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed nulls} \\ \hline \hline 

r200 & J. Rupprecht & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r199 & J. Rupprecht & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r198 & J. Zhang & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Removed grammar files from src top directory.} \\ \hline \hline 

r197 & S. Gururaj & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{moved this to grammar folder} \\ \hline \hline 

r196 & S. Gururaj & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r195 & J. Rupprecht & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r194 & S. Gururaj & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{changed list to newlist} \\ \hline \hline 

r193 & J. Zhang & Wed, 29 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Bug introduced! For fixing a bigger bug.} \\ \hline \hline 

r192 & J. Zhang & Tue, 28 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed way inputs is defined in main. This caused a weird problem on my office machine, but not on my vm at home.} \\ \hline \hline 

r191 & J. Zhang & Tue, 28 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added push function, fixed little bugs.} \\ \hline \hline 

r190 & J. Zhang & Tue, 28 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Serializes input now} \\ \hline \hline 

r189 & J. Zhang & Tue, 28 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Implemented copy constructors.} \\ \hline \hline 

r188 & P. Tjimos & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed string and double} \\ \hline \hline 

r187 & J. Rupprecht & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r186 & S. Gururaj & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added the main stub} \\ \hline \hline 

r185 & S. Gururaj & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{some file io stuff} \\ \hline \hline 

r184 & J. Rupprecht & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{It works (and I'm not taking out debug code...} \\ \hline \hline 

r183 & P. Tjimos & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed return for pigMain} \\ \hline \hline 

r182 & J. Rupprecht & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Compiles, bug has some new bugs...} \\ \hline \hline 

r181 & J. Zhang & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added skeleton for checkdone script and getthread usage in jobthread.} \\ \hline \hline 

r180 & P. Tjimos & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed casting} \\ \hline \hline 

r179 & J. Rupprecht & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r178 & S. Gururaj & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{put in the file splitting part} \\ \hline \hline 

r177 & J. Zhang & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Deleted all references to pollthread} \\ \hline \hline 

r176 & J. Rupprecht & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r175 & J. Rupprecht & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r174 & J. Rupprecht & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r173 & J. Zhang & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Ooops. Forgot to add pollthread files.} \\ \hline \hline 

r172 & J. Zhang & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added skeleton for pollthread.} \\ \hline \hline 

r171 & J. Zhang & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Moved password sending from sendthread to servers} \\ \hline \hline 

r170 & P. Tjimos & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{if else fixed, loops kinda funky} \\ \hline \hline 

r169 & J. Zhang & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Deleting PostThread} \\ \hline \hline 

r168 & J. Rupprecht & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r167 & J. Zhang & Sun, 26 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed JobThread constructor} \\ \hline \hline 

r166 & J. Zhang & Sat, 25 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Code fixed so that multiple inputs sets can be sent.} \\ \hline \hline 

r165 & J. Zhang & Sat, 25 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Moved debug.h to common.h/.cc. Also some minor changes to debug messages and code style.} \\ \hline \hline 

r164 & J. Zhang & Fri, 24 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Did some cleanup.} \\ \hline \hline 

r163 & J. Zhang & Fri, 24 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{I believe a major flaw has been fixed.} \\ \hline \hline 

r162 & J. Zhang & Thu, 23 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Okay, the last revision included a serious typo.} \\ \hline \hline 

r161 & J. Zhang & Thu, 23 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Okay, the last revision included a serious typo.} \\ \hline \hline 

r160 & J. Zhang & Thu, 23 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Weird test case with ThreadPool} \\ \hline \hline 

r159 & J. Zhang & Thu, 23 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added mutexes around threadpools. Also added type field to threadpools and threads.} \\ \hline \hline 

r158 & J. Rupprecht & Thu, 23 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{compiles with only unused system() return value warnings} \\ \hline \hline 

r157 & P. Tjimos & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{something} \\ \hline \hline 

r156 & J. Rupprecht & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r155 & J. Rupprecht & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r154 & P. Tjimos & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{newest grammar} \\ \hline \hline 

r153 & J. Rupprecht & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r152 & S. Gururaj & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fixed some stuff} \\ \hline \hline 

r151 & J. Zhang & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Implements length and print keywords} \\ \hline \hline 

r150 & J. Zhang & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added CloneValue() function to Pigasus types, and added Casting functions.} \\ \hline \hline 

r149 & J. Zhang & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added new constructors for Map and List} \\ \hline \hline 

r148 & J. Rupprecht & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r147 & P. Tjimos & Wed, 22 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{changed lists} \\ \hline \hline 

r146 & J. Zhang & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Minor comment change. File can be used any way you like.} \\ \hline \hline 

r145 & J. Zhang & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed pigasus-types to accept consts} \\ \hline \hline 

r144 & J. Zhang & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Minor stylistic changes.} \\ \hline \hline 

r143 & P. Tjimos & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{fix global\_servers} \\ \hline \hline 

r142 & J. Zhang & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added formatstring.h} \\ \hline \hline 

r141 & P. Tjimos & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{working distcc grammar (changed last expression on push\_statement to identify and got rid of the semi-colon} \\ \hline \hline 

r140 & J. Zhang & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Uncleaned format string code.} \\ \hline \hline 

r139 & J. Rupprecht & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r138 & P. Tjimos & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{push implemented...sorta} \\ \hline \hline 

r137 & J. Rupprecht & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r136 & J. Rupprecht & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r135 & J. Rupprecht & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r134 & P. Tjimos & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{changes to push} \\ \hline \hline 

r133 & J. Zhang & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added file I/O} \\ \hline \hline 

r132 & S. Gururaj & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{list operations supported} \\ \hline \hline 

r131 & J. Zhang & Mon, 20 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Implemented serialization for pigasus types.} \\ \hline \hline 

r130 & J. Rupprecht & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r129 & S. Gururaj & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{2. added the MOD operator (which is the actual remainder operation)} \\ \hline \hline 

r128 & S. Gururaj & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added the MOD operator} \\ \hline \hline 

r127 & S. Gururaj & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r126 & J. Rupprecht & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Small type in SendThread} \\ \hline \hline 

r125 & J. Rupprecht & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r124 & J. Zhang & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Minor changes.} \\ \hline \hline 

r123 & J. Rupprecht & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r122 & P. Tjimos & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{grammar has spaces and new lines} \\ \hline \hline 

r121 & J. Rupprecht & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r120 & J. Zhang & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Minor changes to jobthread.*, threadpool.*, added postthread skeleton.} \\ \hline \hline 

r119 & J. Zhang & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Deleting threads.*} \\ \hline \hline 

r118 & J. Zhang & Sun, 19 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Moved ThreadPool out of Threads.h and renamed Threads.h to Thread.h} \\ \hline \hline 

r117 & J. Zhang & Sat, 18 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{minor stylistic changes.} \\ \hline \hline 

r116 & P. Tjimos & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{found couple bugs in grammar, noted them} \\ \hline \hline 

r115 & J. Zhang & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Basic stuff for job threads. Not done.} \\ \hline \hline 

r114 & J. Zhang & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{threads.h will only contain Thread and ThreadPool classes} \\ \hline \hline 

r113 & J. Rupprecht & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r112 & P. Tjimos & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{somewhat working grammar} \\ \hline \hline 

r111 & J. Zhang & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added some comments} \\ \hline \hline 

r110 & J. Zhang & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Implemented ThreadPool} \\ \hline \hline 

r109 & P. Tjimos & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{pigasus-grammar.ypp compiles now} \\ \hline \hline 

r108 & S. Gururaj & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r107 & P. Tjimos & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{declarations.ypp added} \\ \hline \hline 

r106 & P. Tjimos & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{grammar2 added} \\ \hline \hline 

r105 & J. Zhang & Fri, 17 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Basic thread code.} \\ \hline \hline 

r104 & J. Zhang & Mon, 13 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed pigasus-types to accept appends and sets by reference instead of pointers.} \\ \hline \hline 

r103 & P. Tjimos & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{pigasus-grammar .ypp} \\ \hline \hline 

r102 & J. Rupprecht & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{forgot to svn add two files (tests)} \\ \hline \hline 

r101 & J. Rupprecht & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r100 & P. Tjimos & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{update to lex and yacc} \\ \hline \hline 

r99 & P. Tjimos & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{c++ lex scanner and parser} \\ \hline \hline 

r98 & J. Zhang & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added comments to pigasus-types, and added Map's GetKeys()} \\ \hline \hline 

r97 & J. Zhang & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added List concatenation plus test.} \\ \hline \hline 

r96 & J. Zhang & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Forgot to change List.Get to List[] in loadcsv.cc.} \\ \hline \hline 

r95 & J. Zhang & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added [x] access to Lists and Maps. Changed example in loadcsv.cc} \\ \hline \hline 

r94 & J. Zhang & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed LoadCSV to return a List of Maps.} \\ \hline \hline 

r93 & P. Tjimos & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{lex test} \\ \hline \hline 

r92 & S. Gururaj & Sun, 12 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{test suite. good for building from small. this is not the real thing...} \\ \hline \hline 

r91 & J. Zhang & Tue, 07 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added functionality to pigasus-types. Moved tests to separate file.} \\ \hline \hline 

r90 & J. Zhang & Mon, 06 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Made additions to pigasus-types. Added implementations for Map and File.} \\ \hline \hline 

r89 & J. Zhang & Mon, 06 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Rewrote pigasus-types. No longer using derived classes.} \\ \hline \hline 

r88 & J. Zhang & Sun, 05 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed Lists and Maps to contain void*---this allows easy casting.} \\ \hline \hline 

r87 & J. Zhang & Sun, 05 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{LoadCSV is implemented. Does not return List of Maps yet. (Sorry, the other commit were just the test files} \\ \hline \hline 

r86 & J. Zhang & Sun, 05 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{LoadCSV is implemented. Does not return List of Maps yet.} \\ \hline \hline 

r85 & P. Tjimos & Sat, 04 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{updated pigasus.l, test.y} \\ \hline \hline 

r84 & J. Zhang & Sat, 04 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Adds support for Pigasus-specific types.} \\ \hline \hline 

r83 & P. Tjimos & Sat, 04 Apr 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{pigasus.l added} \\ \hline \hline 

r82 & J. Zhang & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r81 & J. Zhang & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r80 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{small changes} \\ \hline \hline 

r79 & S. Gururaj & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{small fixes} \\ \hline \hline 

r78 & J. Zhang & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r77 & S. Gururaj & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added the declarations section for jobs maps files etc} \\ \hline \hline 

r76 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Hacked away 2 bad boxes} \\ \hline \hline 

r75 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added appendix line in lrm} \\ \hline \hline 

r74 & J. Zhang & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r73 & S. Gururaj & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r72 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added Appendix entry into the TOC} \\ \hline \hline 

r71 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed Grammar to an appendix} \\ \hline \hline 

r70 & J. Zhang & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r69 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added + unary operator} \\ \hline \hline 

r68 & J. Zhang & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r67 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{added another tutorial section; cleaned up the LRM} \\ \hline \hline 

r66 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{better code styling; added a tutorial section} \\ \hline \hline 

r65 & J. Zhang & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Stuff.} \\ \hline \hline 

r64 & J. Zhang & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added intro to tutorial.} \\ \hline \hline 

r63 & P. Tjimos & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{functions} \\ \hline \hline 

r62 & J. Rupprecht & Mon, 30 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{writeup for distcc example} \\ \hline \hline 

r61 & J. Rupprecht & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r60 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r59 & J. Rupprecht & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{small changes} \\ \hline \hline 

r58 & P. Tjimos & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{more sample code} \\ \hline \hline 

r57 & J. Rupprecht & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Completed sections 1 and 2 of the tutorial (initial versions)} \\ \hline \hline 

r56 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added expressions; small fixes.} \\ \hline \hline 

r55 & S. Gururaj & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r54 & J. Rupprecht & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Completed first section of tutorial (1a)} \\ \hline \hline 

r53 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added grammar to lrm.tex. Fixed bibliography.} \\ \hline \hline 

r52 & J. Rupprecht & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{expand -t2 grammar.txt} \\ \hline \hline 

r51 & S. Gururaj & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r50 & S. Gururaj & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r49 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Small changes + bibliography.} \\ \hline \hline 

r48 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Tiny change. Added escaped double quote.} \\ \hline \hline 

r47 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added 'length' keyword.} \\ \hline \hline 

r46 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Small change to intro. Changed keyword 'servers' to 'connect'.} \\ \hline \hline 

r45 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added conversion rules between file and string.} \\ \hline \hline 

r44 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Added void to keywords.} \\ \hline \hline 

r43 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed list of keywords.} \\ \hline \hline 

r42 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed the Conversions section.} \\ \hline \hline 

r41 & J. Rupprecht & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Small changes} \\ \hline \hline 

r40 & J. Rupprecht & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Small changes} \\ \hline \hline 

r39 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Removed SVN crap.} \\ \hline \hline 

r38 & J. Zhang & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Changed description items to subsections.} \\ \hline \hline 

r37 & J. Rupprecht & Sun, 29 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Small changes; remove .ps and .pdf (unnecessary)} \\ \hline \hline 

r36 & J. Zhang & Sat, 28 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Updated intro, new section for types, updated lexical conventions.} \\ \hline \hline 

r35 & J. Rupprecht & Sat, 28 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{declarations} \\ \hline \hline 

r34 & J. Rupprecht & Sat, 28 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Rough tutorial writeup} \\ \hline \hline 

r33 & S. Gururaj & Sat, 28 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{wrote the statements section} \\ \hline \hline 

r32 & J. Rupprecht & Sat, 28 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Table of contents} \\ \hline \hline 

r31 & J. Zhang & Sat, 28 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{Fixed comparison operators.} \\ \hline \hline 

r30 & S. Gururaj & Fri, 27 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{updated LRM.} \\ \hline \hline 

r29 & J. Rupprecht & Thu, 26 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r28 & J. Zhang & Sun, 15 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

r27 & J. Zhang & Sat, 14 Mar 2009 \\ \hline 
\multicolumn{3}{|p{5in}|}{} \\ \hline \hline 

\end{supertabular}
\end{center}


\end{document}
